from itsdangerous import TimedJSONWebSignatureSerializer
from comment.utils import const
from comment.models.user import User
def generate_tokens(uid):
    #根据已经登录之后的用户ID,生成token
    #参数1：密钥 参数2：token有效时间,是二进制数
    s=TimedJSONWebSignatureSerializer(secret_key=const.SECRET_KEY,expires_in=const.JWT_EXPIRY_SECOND)
    #生成token
    return s.dumps({'id':uid}).decode()




def verify_tokens(token_str):
    #验证token,并且验证完成之后，返回用户ID
    s=TimedJSONWebSignatureSerializer(secret_key=const.SECRET_KEY,expires_in=const.JWT_EXPIRY_SECOND)
    try:
        data=s.loads(token_str)#本质就是一个解密的过程
    except Exception as e:
        return {'msg':'验证失败'}
    #
    #如果验证成功，还需要看看当前用户状态是否正常
    user=User.query.filter(User.id==data['id']).first()
    if user and user.id != 0:
        return {'msg':'错误'}
    return {'id':user.id}














